1047. Remove All Adjacent Duplicates In String

题目 1047. Remove All Adjacent Duplicates In String

image-9960ddef

思路分析

image-991e61ff

代码实现

class Solution {
    public String removeDuplicates(String s) {
        Deque<Character> stack = new ArrayDeque<>();
        for(char cur : s.toCharArray()){
            if(!stack.isEmpty() && cur==stack.peek()){
                stack.pop();
            }else{
                stack.push(cur);
            }
        }

        StringBuilder sb = new StringBuilder();
        while(!stack.isEmpty()){
            sb.append(stack.pollLast());
        }

        return sb.toString();
    }
}
 class Solution {
    public String removeDuplicates(String s) {
        StringBuilder stack = new StringBuilder();

        for(char cur : s.toCharArray()){
            int len = stack.length();
            if(len>0 && stack.charAt(len-1)==cur){
                stack.deleteCharAt(len-1);
            }else{
                stack.append(cur);
            }
        }
        return stack.toString();
    }
}

同类题型

视频讲解